//
//  String+extend.swift
//  scfriend
//
//  Created by wulanzhou on 2017/7/25.
//  Copyright © 2017年 wulanzhou. All rights reserved.
//

import Foundation
import UIKit

extension String {

    /// 取得text大小
    ///
    /// - Parameters:
    ///   - font: 文本字体
    ///   - maxWidth: 文本显示的最大宽度
    /// - Returns: 返回文本大小
    func textSize(font:UIFont,maxWidth:CGFloat) -> CGSize {
        let size = CGSize(width: maxWidth, height: CGFloat.greatestFiniteMagnitude)
        let attributes = [NSAttributedStringKey.font:font] //设置字体大小
        let option = NSStringDrawingOptions.usesLineFragmentOrigin
        
        //这里有个参数1——width和参数2——heigh经测试应该是设置横向和纵向的最大计算宽度和高度，如有不妥希望指出，相互学习，谢谢。（即当宽度接近与320.0时，就会换行，通过改变高度来计算字符串长度）
        let rect:CGRect = (self as NSString).boundingRect(with: size, options: option, attributes: attributes, context: nil)//获取字符串的frame
        return rect.size
    }
}
